package com.tjec.project.portal.service;

import com.tjec.project.portal.domain.BmsMsg;

import java.util.List;

/**
 * 系统消息Service接口
 *
 * @author liuxu
 * @date 2020-05-07
 */
public interface IBmsMsgService {
    /**
     * 查询系统消息
     *
     * @param guid 系统消息ID
     * @return 系统消息
     */
    public BmsMsg selectBmsMsgByGuid(String guid);

    /**
     * 查询系统消息列表
     *
     * @param bmsMsg 系统消息
     * @return 系统消息集合
     */
    public List<BmsMsg> selectBmsMsgList(BmsMsg bmsMsg);

    /**
     * 新增系统消息
     *
     * @param bmsMsg 系统消息
     * @return 结果
     */
    public int insertBmsMsg(BmsMsg bmsMsg);

    /**
     * 新增系统消息（各业务模块进行消息推送时使用）
     *
     * @param receiverUserId 接收人guid
     * @param msgType        消息类型
     * @param content        消息内容
     * @return 结果
     */
    public int insertByReceiverUser(String receiverUserId, String msgType, String content,Boolean type);

    /**
     * 修改系统消息
     *
     * @param bmsMsg 系统消息
     * @return 结果
     */
    public int updateBmsMsg(BmsMsg bmsMsg);

    /**
     * 一键已读
     *
     * @param bmsMsg 系统消息
     * @return 结果
     */
    public int batchRead(BmsMsg bmsMsg);

    /**
     * 批量删除系统消息
     *
     * @param guids 需要删除的系统消息ID
     * @return 结果
     */
    public int deleteBmsMsgByGuids(String[] guids);

    /**
     * 删除系统消息信息
     *
     * @param guid 系统消息ID
     * @return 结果
     */
    public int deleteBmsMsgByGuid(String guid);
}
